package com.yang;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;

public class WeaponController implements Listener, CommandExecutor {
    private static Main main;

    //构造函数
    public WeaponController(Main main) {
        this.main = main;
    }

    /*
     * 当指令方法返回true时：表示，指令过程没出任何程序性错误，所以，不会对玩家产生报错，或者是后台
     *            false : 就会报错
     *
     *           CommandSender 一般情况下：
     *           玩家 / 后台
     *
     *           /yang [yang = "lable"]
     *           /yang        a b c
     *           [label] : [args[0]]
     *
     * CommandSender sender: 这个参数表示命令的发送者，可以是玩家、控制台或命令方块等。CommandSender是一个代表命令发送者的接口，它有一些通用的方法，比如发送消息和执行命令等。
     * Command command: 这个参数是与命令相关的Bukkit Command对象。它包含有关命令的信息，比如名称、别名、权限等。
     * String label: 这是玩家使用的命令别名。
     * String[] args: 这是命令的参数，即在输入命令时提供的额外信息。args是一个字符串数组，其中包含输入的命令及其参数。例如，如果玩家输入了 /mycommand arg1 arg2，那么args将包含两个元素，分别是arg1和arg2。
     * getName(): 获取命令的名称。
     * getLabel(): 获取执行命令时使用的别名。
     * getAliases(): 获取命令的所有别名。
     * getPermission(): 获取命令的权限节点。
     * getDescription(): 获取命令的描述信息。
     * getUsage(): 获取命令的使用方法。
     * setPermission(): 设置命令的权限节点。
     * */
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        // 忽略大小写
        if (!label.equalsIgnoreCase("yang")) {
            return true;
        }
        if (args.length == 0){
            sender.sendMessage("空指令");
        }
        if (sender instanceof Player){
            //玩家
            Player player = (Player) sender;
        }else{
            //非玩家
        }
        return true;
    }
}
